package com.ruoyi.yard.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 发运单对象 waybill_info
 * 
 * @author ruoyi
 * @date 2022-09-05
 */
public class WaybillInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectNo;

    /** 发货计划号 */
    @Excel(name = "发货计划号")
    private String deliveryPlanNo;

    /** 发货单号 */
    @Excel(name = "发货单号")
    private String waybillNo;

    /** 出库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date waybillTime;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contacts;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String contact;

    /** 栋号 */
    @Excel(name = "栋号")
    private String buildNo;
    /** 楼层 */
    @Excel(name = "楼层")
    private String floor;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String warehouseName;

    /** 仓库区域 */
    @Excel(name = "仓库区域")
    private String warehouseArea;

    /** 客户 */
    @Excel(name = "客户")
    private String customer;

    /** 运输单位 */
    @Excel(name = "运输单位")
    private String transportUnit;

    /** 运输方式 */
    @Excel(name = "运输方式")
    private String transportType;

    /** 车牌号码 */
    @Excel(name = "车牌号码")
    private String carNo;

    /** 制单人 */
    @Excel(name = "制单人")
    private String producer;

    /** 审批状态(0未审核 1通过 2驳回) */
    @Excel(name = "审批状态(0未审核 1通过 2驳回)")
    private Integer approvalStatus;

    /** 审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approvalTime;

    /** 审批人 */
    @Excel(name = "审批人")
    private String approval;

    /** 发货员 */
    @Excel(name = "发货员")
    private String consignor;

    /** 司机 */
    @Excel(name = "司机")
    private String driver;

    /** 收货人 */
    @Excel(name = "收货人")
    private String receivingUser;

    /** 收货状态 0待收货 1已收货 */
    @Excel(name = "收货状态 0待收货 1已收货")
    private Long receivingStatus;

    /** 收货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "收货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date receivingTime;

    /** 是否打印 */
    @Excel(name = "是否打印")
    private Integer isPrint;

    /** 打印时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "打印时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date printTime;

    /** 发运单_构件信息 */
    private List<WaybillCompRef> waybillCompRefList;

    //////////////////
    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 构建信息*/
    List<CompWarehouseInfo> compWarehouseInfoList;

    /** 构件总量 */
    private Long totalCount;

    /** 构件总重量 */
    private Double totalWeight;

    /** 构件名称或编号 */
    private String compWarehouseName;

    /** 构件名称或编号 */
    private String compWarehouseType;

    private Date beginCreateTime ;

    private Date endCreateTime;


    /////////////////


    public Date getBeginCreateTime() {
        return beginCreateTime;
    }

    public void setBeginCreateTime(Date beginCreateTime) {
        this.beginCreateTime = beginCreateTime;
    }

    public Date getEndCreateTime() {
        return endCreateTime;
    }

    public void setEndCreateTime(Date endCreateTime) {
        this.endCreateTime = endCreateTime;
    }



    public String getCompWarehouseType() {
        return compWarehouseType;
    }

    public void setCompWarehouseType(String compWarehouseType) {
        this.compWarehouseType = compWarehouseType;
    }

    public String getCompWarehouseName() {
        return compWarehouseName;
    }

    public void setCompWarehouseName(String compWarehouseName) {
        this.compWarehouseName = compWarehouseName;
    }

    public String getFloor() {
        return floor;
    }

    public void setFloor(String floor) {
        this.floor = floor;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setProjectNo(String projectNo) 
    {
        this.projectNo = projectNo;
    }

    public String getProjectNo() 
    {
        return projectNo;
    }
    public void setDeliveryPlanNo(String deliveryPlanNo) 
    {
        this.deliveryPlanNo = deliveryPlanNo;
    }

    public String getDeliveryPlanNo() 
    {
        return deliveryPlanNo;
    }
    public void setWaybillNo(String waybillNo) 
    {
        this.waybillNo = waybillNo;
    }

    public String getWaybillNo() 
    {
        return waybillNo;
    }
    public void setWaybillTime(Date waybillTime) 
    {
        this.waybillTime = waybillTime;
    }

    public Date getWaybillTime() 
    {
        return waybillTime;
    }
    public void setContacts(String contacts) 
    {
        this.contacts = contacts;
    }

    public String getContacts() 
    {
        return contacts;
    }
    public void setContact(String contact) 
    {
        this.contact = contact;
    }

    public String getContact() 
    {
        return contact;
    }
    public void setBuildNo(String buildNo) 
    {
        this.buildNo = buildNo;
    }

    public String getBuildNo() 
    {
        return buildNo;
    }
    public void setWarehouseName(String warehouseName) 
    {
        this.warehouseName = warehouseName;
    }

    public String getWarehouseName() 
    {
        return warehouseName;
    }
    public void setWarehouseArea(String warehouseArea) 
    {
        this.warehouseArea = warehouseArea;
    }

    public String getWarehouseArea() 
    {
        return warehouseArea;
    }
    public void setCustomer(String customer) 
    {
        this.customer = customer;
    }

    public String getCustomer() 
    {
        return customer;
    }
    public void setTransportUnit(String transportUnit) 
    {
        this.transportUnit = transportUnit;
    }

    public String getTransportUnit() 
    {
        return transportUnit;
    }
    public void setTransportType(String transportType) 
    {
        this.transportType = transportType;
    }

    public String getTransportType() 
    {
        return transportType;
    }
    public void setCarNo(String carNo) 
    {
        this.carNo = carNo;
    }

    public String getCarNo() 
    {
        return carNo;
    }
    public void setProducer(String producer) 
    {
        this.producer = producer;
    }

    public String getProducer() 
    {
        return producer;
    }
    public void setApprovalStatus(Integer approvalStatus)
    {
        this.approvalStatus = approvalStatus;
    }

    public Integer getApprovalStatus()
    {
        return approvalStatus;
    }
    public void setApprovalTime(Date approvalTime) 
    {
        this.approvalTime = approvalTime;
    }

    public Date getApprovalTime() 
    {
        return approvalTime;
    }
    public void setApproval(String approval) 
    {
        this.approval = approval;
    }

    public String getApproval() 
    {
        return approval;
    }
    public void setConsignor(String consignor) 
    {
        this.consignor = consignor;
    }

    public String getConsignor() 
    {
        return consignor;
    }
    public void setDriver(String driver) 
    {
        this.driver = driver;
    }

    public String getDriver() 
    {
        return driver;
    }
    public void setReceivingUser(String receivingUser) 
    {
        this.receivingUser = receivingUser;
    }

    public String getReceivingUser() 
    {
        return receivingUser;
    }
    public void setReceivingStatus(Long receivingStatus) 
    {
        this.receivingStatus = receivingStatus;
    }

    public Long getReceivingStatus() 
    {
        return receivingStatus;
    }
    public void setReceivingTime(Date receivingTime) 
    {
        this.receivingTime = receivingTime;
    }

    public Date getReceivingTime() 
    {
        return receivingTime;
    }
    public void setIsPrint(Integer isPrint)
    {
        this.isPrint = isPrint;
    }

    public Integer getIsPrint()
    {
        return isPrint;
    }
    public void setPrintTime(Date printTime) 
    {
        this.printTime = printTime;
    }

    public Date getPrintTime() 
    {
        return printTime;
    }

    public List<WaybillCompRef> getWaybillCompRefList()
    {
        return waybillCompRefList;
    }

    public void setWaybillCompRefList(List<WaybillCompRef> waybillCompRefList)
    {
        this.waybillCompRefList = waybillCompRefList;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public List<CompWarehouseInfo> getCompWarehouseInfoList() {
        return compWarehouseInfoList;
    }

    public void setCompWarehouseInfoList(List<CompWarehouseInfo> compWarehouseInfoList) {
        this.compWarehouseInfoList = compWarehouseInfoList;
    }

    public Long getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(Long totalCount) {
        this.totalCount = totalCount;
    }

    public Double getTotalWeight() {
        return totalWeight;
    }

    public void setTotalWeight(Double totalWeight) {
        this.totalWeight = totalWeight;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectNo", getProjectNo())
            .append("deliveryPlanNo", getDeliveryPlanNo())
            .append("waybillNo", getWaybillNo())
            .append("waybillTime", getWaybillTime())
            .append("contacts", getContacts())
            .append("contact", getContact())
            .append("buildNo", getBuildNo())
            .append("warehouseName", getWarehouseName())
            .append("warehouseArea", getWarehouseArea())
            .append("customer", getCustomer())
            .append("transportUnit", getTransportUnit())
            .append("transportType", getTransportType())
            .append("carNo", getCarNo())
            .append("producer", getProducer())
            .append("approvalStatus", getApprovalStatus())
            .append("approvalTime", getApprovalTime())
            .append("approval", getApproval())
            .append("consignor", getConsignor())
            .append("driver", getDriver())
            .append("receivingUser", getReceivingUser())
            .append("receivingStatus", getReceivingStatus())
            .append("receivingTime", getReceivingTime())
            .append("isPrint", getIsPrint())
            .append("printTime", getPrintTime())
            .append("waybillCompRefList", getWaybillCompRefList())
            .toString();
    }
}
